﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Autenticacao
{
    public partial class frm_icliente : Form
    {
        System.Data.SqlClient.SqlConnection con;
        public Utilizador util2;
        private Cliente nc;
        private string op;
        
        public frm_icliente(Utilizador a, Cliente c, string o)
        {
            this.util2 = a;
            this.nc = c;
            this.op = o;
            InitializeComponent();


            txtfc_nome.Text = nc.get_nome();
            txtfc_morada.Text = nc.get_morada();
            txtfc_cpostal.Text = nc.get_codpostal().ToString();
            txtfc_localidade.Text = nc.get_localidade();
            txtfc_tlm.Text = nc.get_telemovel().ToString();
            txtfc_email.Text = nc.get_email();
        }

        private void cmdfc_id_Click(object sender, EventArgs e)
        {
            con = new System.Data.SqlClient.SqlConnection();
            con.ConnectionString = @"Data Source = ANDRÉ-PC\SQLEXPRESS; Initial Catalog = horsepw_bd; Integrated Security = True;";
            con.Open();

            try
            {
                int id = util2.get_id_vet();
                SqlCommand command1 = con.CreateCommand();
                if (op == "editar")
                {
                    MessageBox.Show("Erro! Escolheu o modo de edição!", "Guarde no outro botão!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    command1.CommandText = "Insert into cliente (nome, morada, cod_postal, localidade, telemovel, email, id_veterinario) Values ('" + txtfc_nome.Text + "', '" + txtfc_morada.Text + "', '" + txtfc_cpostal.Text + "', '" + txtfc_localidade.Text +"', '" + txtfc_tlm.Text + "', '" + txtfc_email.Text + "', " + id + ")";
                    command1.CommandType = CommandType.Text;

                    SqlDataReader reader1 = command1.ExecuteReader();

                    MessageBox.Show("Cliente inserido com sucesso!", "Registo Efetuado", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    this.Close();
                }
            }
            catch (Exception er)
            {
                MessageBox.Show("Dados Inválidos!", "Erro!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            con.Close();
            
        }

        private void cmdfc_ad_Click(object sender, EventArgs e)
        {
            con = new System.Data.SqlClient.SqlConnection();
            con.ConnectionString = @"Data Source = ANDRÉ-PC\SQLEXPRESS; Initial Catalog = horsepw_bd; Integrated Security = True;";
            con.Open();

            try
            {
                int id = util2.get_id_vet();
                SqlCommand command2 = con.CreateCommand();
                if (op != "editar")
                {
                    MessageBox.Show("Erro! Escolheu guardar um novo cliente!", "Atualize no outro botão!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    command2.CommandText = "Update cliente SET nome = '" + txtfc_nome.Text + "', morada = '" + txtfc_morada.Text + "', cod_postal = '" + txtfc_cpostal.Text + "', localidade = '" + txtfc_localidade.Text + "', telemovel = '" + txtfc_tlm.Text + "', email = '" + txtfc_email.Text + "', id_veterinario = " + id + ""; 
                    command2.CommandType = CommandType.Text;

                    SqlDataReader reader1 = command2.ExecuteReader();
                    nc.set_nome(txtfc_nome.Text);
                    nc.set_morada(txtfc_morada.Text);
                    nc.set_localidade(txtfc_localidade.Text);
                    nc.set_codpostal(Convert.ToInt32(txtfc_cpostal.Text));
                    nc.set_telemovel(Convert.ToInt32(txtfc_tlm.Text));
                    nc.set_email(txtfc_email.Text);

                    MessageBox.Show("Cliente Atualizado com sucesso!", "Atualização Efetuada", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    this.Close();
                }
            }
            catch (Exception er)
            {
                MessageBox.Show("Dados Inválidos!", "Erro!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            con.Close();
         }

        private void cmdfc_fechar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void frm_icliente_Load(object sender, EventArgs e)
        {

        }
    }
}
